home *** CD-ROM | disk | FTP | other *** search
/ Commodore Free 20 / Commodore_Free_Issue_20_2008_Commodore_Computer_Club.d64 / t.iv nightlord2 < prev    next >
Text File  |  2023-02-26  |  9KB  |  292 lines

  1. u
  2.  
  3. Interview with Nightlord Commodore 64
  4. programmer
  5.  
  6.  CONTINUED FROM PART 1
  7.  
  8. CF. Can C=++ make use of external
  9. commodore hardware for example the SCPU
  10. or CMD Ram link?
  11.  
  12. NL: Well the compiler generates 6502
  13. code. I have no idea how RamLink
  14. works. The resulting code will of
  15. course run on a SCPU but won't be able
  16. to use the extended SCPU commands.
  17.  
  18. CF. Would you consider extending the
  19. language to support further hardware? 
  20.  
  21. NL: If you mean support for SCPU as in
  22. the "compiled programs can use SCPU
  23. features or its bigger address space",
  24. it might be possible to do relatively
  25. easily. Although I must say I do not
  26. see a huge demand from the thousands
  27. of SCPU developers out there.
  28.  
  29.  If you mean supporting other CPUs like
  30. Z80 or 68000, it is not as easy. I do
  31. not consider doing it.
  32.  
  33.  Finally if you mean supporting the
  34. compiler itself to run on a Commodore
  35. machine, than I can confidently answer
  36. "no". Parsing C++ code and generating
  37. binaries on Commodore is something I
  38. will not try to do.
  39.  
  40. CF. is the C= ++ source code available
  41. for download? if so where? if not,
  42. will it be available?
  43.  
  44. NL: Yes it is under GNU GPL license.
  45. It will be available in the official
  46. Cepp site
  47.  
  48. www.cepp.nightnetwork.org
  49.  
  50. The site will open by the end of July
  51. at CommVex 2008.
  52.  
  53. CF. Will the Code  be  open source and
  54. therefore free to modify?
  55.  
  56. NL: Yes. The code will be released
  57. Inline with GNU GPL license agreement.
  58.  
  59. CF. You have produced a Tetris clone
  60. with C= ++ will this Tetris clone be
  61. released as a standalone application?
  62.  
  63. NL: The Tetris clone (creatively named
  64. Cepptris) is a proof of concept that
  65. the compiler works. I will probably
  66. put it somewhere in the web site as
  67. well as CSDB but it should not be
  68. considered a game really. It is an
  69. example for other people to look at.
  70. Especially an example of how C=++ code
  71. and asm code are used together.
  72.  
  73. CF. Taking the Tetris clone you
  74. created in C=++ how long did this take
  75. to create in C=++ and how long would
  76. the same version take using Assembler?
  77.  
  78. NL: Hmm it is hard to answer exactly
  79. but I think it took about 5-6 hours to
  80. write Cepptris including the C=++ and
  81. assembler parts. Since it has no
  82. graphics or sound it was a very short
  83. project. Had I written it in assembler
  84. I guess it would take somewhere in
  85. 12-14 hours for me. But keep in mind
  86. these numbers and ratios apply to me.
  87. Someone else might be more fluent in
  88. assembler and less comfortable with
  89. C=++ and actually take longer to write
  90. with C=++. It also depends on the
  91. unique types of problems in the
  92. particular game. Tetris does not
  93. really have some of the problems that
  94. really inspired me to make the
  95. compiler in the first place. A real
  96. time strategy game has those problems
  97. but is too big a project to choose as
  98. a quick proof of concept project for
  99. my compiler.
  100.  
  101. CF. You mentioned in a demo at
  102. Mossycon that you would think C=++
  103. would be used for the logic code in a
  104. game and  assembler for the speed
  105. intensive part so you would use C=++
  106. to build the artificial intelligence
  107. is this still how you see the language
  108. being used?
  109.  
  110. NL: Yes the main areas I see for the
  111. language usage are AI, logic and
  112. dynamic memory management areas. It
  113. might potentially be useful in various
  114. utilities or non-game applications if
  115. some UI widget libraries get
  116. developed. I hope this will happen as
  117. it is easy to write a widget library
  118. or a graphic library and provide a C++
  119. interface to it. In other words it is
  120. easy to write some assembly code and
  121. make it look like C++ classes to your
  122. C=++ code.
  123.  
  124. So people could write a UI framework
  125. that has forms and buttons and edit
  126. boxes etc. and others could than
  127. quickly code utilities or even
  128. diskmags using those framework
  129. libraries. So in a wonderful world
  130. this could increase the reusability of
  131. code in the Commodore world & improve
  132. the efficiency & collaboration of
  133. programmers. In the real world this
  134. might be me hugging a tree. Another
  135. area I can see the language being used
  136. is some certain demo effects where
  137. there are particle systems or the like
  138.  
  139. CF. What sort of programmer are you,
  140. for example have you purely created
  141. demos?
  142.  
  143. NL: In the Commodore world, I have
  144. only released demos until now. So I am
  145. a demo coder yes. I have unfinished
  146. game projects in the queue too. I have
  147. done a few graphics and music releases
  148. as well. I guess I am OK as a musician
  149. and showing some minimal promise as a
  150. graphical artist as well because
  151. people do not go and puke after being
  152. exposed to my work.
  153.  
  154. CF. Do you have a favourite Demo or
  155. application?
  156.   
  157. NL: I have many favourite demos: Tower
  158. Power/Camelot, Soiled Legacy/Resource,
  159. Krestology/Crest, Dawnfall/Oxyron,
  160. Mathematica/Reflex, 100000 Light Years
  161. from Earth/Fairlight, Boogie
  162. Factor/Fairlight, Throckmorton
  163. Device/Triad and Living/Glance are a
  164. few that I recall right now.
  165.  
  166. CF. What Commodore Demo or
  167. applications have you seen and thought
  168. WOW how is this done?
  169.  
  170. NL: Again many... But I think the
  171. loudest I shouted and jumped from my
  172. seat ever was during the round vector
  173. object part in the demo Tower
  174. Power/Camelot back in 94. Another
  175. recent one was during Artefects/Plush
  176. in the landscape part.
  177.  
  178. CF. Do you feel its acceptable to
  179. dissemble other code to learn how
  180. techniques were used?
  181.  
  182. NL: In the C64 I think it is (I am not
  183. sure but I think it might be illegal
  184. for some PC programs to disassemble
  185. them). For C64 it is quite a good
  186. learning method. But how effective/
  187. possible it is really depends on the
  188. type of code you are looking at. For
  189. instance many raster effects in demos
  190. are easy to look & learn from since
  191. they always use the same registers in
  192. various ways. You can actually figure
  193. out what is happening there pretty
  194. easily. On the other hand it is not so
  195. easy to learn from a math based effect
  196. (like vectors or doom effects) since
  197. they are heavily optimized by the use
  198. of tables. So all you see is "ah here
  199. the coder reads some value from this
  200. table then adds it to another value
  201. from another table", as long as you do
  202. not know what calculations are turned
  203. into tables you do not understand much
  204. from that code. Off course it is a
  205. skill that some are better at than
  206. others. I am not very good at figuring
  207. out other people's code.
  208.  
  209. Also from the ethics point of view it
  210. never hurts to publicly announce it in
  211. your own demo, if you have studied
  212. someone else's code. It is one of
  213. those small signs of respect you
  214. occasionally exchange among coders. A
  215. small nod if you will :)
  216.  
  217. CF. Why has the C64 survived for so
  218. long?
  219.  
  220. NL: Because of us... All of us. Those
  221. who still create software/hardware
  222. for it, those who still use it daily
  223. to take care of their stuff or for
  224. fun, and those who write, read and
  225. discuss about it. And I think for
  226. every kind of person on the Commodore
  227. scape the newer technologies have not
  228. completely replaced the fun or
  229. challenges we enjoy. For instance C64
  230. coders still enjoy the cycle counting
  231. challenge that you do not get to see
  232. in new platforms. The users still
  233. enjoy the personality & psychological
  234. tie they have with the machines that
  235. they never feel with the newer machines
  236. etc.
  237.  
  238. CF. Do you think there is an area that
  239. the C64 has not be utilised to its
  240. fullest in, be it graphics, music,
  241. coding etc.?
  242.  
  243. NL: Graphics & Music are fully open
  244. ended. There can be a zillion more
  245. music pieces made and there can still
  246. come a piece (most likely form Drax or
  247. Laxity :) )that will make you go
  248. "Wow". Same with the graphics. I can
  249. not really answer for coding. I have
  250. been an active demo coder only in the
  251. last few years & I do feel challenged
  252. & close to the limits of this machines
  253. power but it might very well be my own
  254. incompetency. You should really ask
  255. someone who has been breaking world
  256. records for decades. Someone like
  257. Crest/Crossbow. He might tell you
  258. whether he feels there is less space
  259. left to utilize compared to 15 years
  260. ago. Whether he feels if this is a
  261. moving target or not.
  262.  
  263. CF. Finally Doom on the C64, is it
  264. feasible & would it be worth the
  265. effort?
  266.  
  267. NL: Oh it is definitely feasible. At
  268. least I know I can do it using my
  269. already existing doom engine (well
  270. doom engine means the graphics engine
  271. here, not the game engine). I think it
  272. is worth the effort too. In fact I
  273. intend to do it sometime. But I must
  274. add that I would do a doom style game
  275. not the exact same "doom" as it would
  276. not be so much fun to me. I would
  277. rather design the levels the enemies
  278. and the overall game scenario uniquely
  279. instead of copying from Doom.
  280.  
  281. COMMODORE FREE
  282. Pictures taken from Mossycon was
  283. recorded by Robert and available for
  284. purchase on 2 DVD-R in NTSC format,
  285. The pictures in this review were
  286. extracted from the video, you can
  287. contact Robert at:
  288.  
  289. http://videocam.net.au/fcug/
  290.  
  291.  
  292.